Modem computer network systems commonly provide for many different users to share access to data stored in a memory location such as a database that may be accessed from each of a plurality of user terminals connected to the database via the network. For example, in a local area network (LAN) system, a number of user terminals are connected to a server and a database via the LAN. Examples of data that may be shared by different users include application documents (e.g., word processing documents, graphical image data files), and database records.
Many different types of document management applications, which may be executed either by the server or by each of the user terminals, are commonly used to manage shared access of documents by a plurality of users. Document management systems typically provide functions including restricting access to selected documents, assigning version values to documents, recording the date of a last revision of each document, and recording information indicative of the particular user(s) who last modified each document. Restricting access to specified documents or records is typically accomplished by granting different types of access rights to different users. For example, a typical document management system may be programmed to grant full editing rights to a first group of users who may create and edit documents, grant only viewing rights to a second group of users, and prohibit a third group of users from accessing the documents for any purpose.
Many document management systems also enable users to store additional information associated with each document including a document title, a client associated with the document, an associated matter number, a document type which is usually indicative of the contents of the document, and associated user group information indicative of particular group of users (e.g., an accounting department within an organization) who may be interested in the document. Thus, document management systems provide for generating documentation indicating the contents of documents. Some of this information must be entered manually by a user who creates the document. Other information, such as a last user to edit the document, is automatically documented.
An important problem associated with existing document management systems is that such systems do not provide adequate documentation and management of composite documents which include data derived from other documents. In many different industries, including the motion picture industry and the music industry, it is necessary to manage a plurality of media products (e.g., a media data file including computer graphical information, video data, audio data, etc.) stored in a database. These media products may include composite media products. Composite media products are composed of at least a portion of at least one other media product which is utilized/included therein. Each of the composite media products may be generated by different users who may act as producers of media products and/or consumers of media products as further explained below.
As an example, a motion picture production company typically includes many different departments each having a number of users who generate different types of media products to be used in generating a film having computer generated imagery. The departments typically include: a film department that generates products including film resolution plates; a film input/output (I/O) department that produces digital plates that are digitally scanned from the film resolution plates; a modeling department that generates model products including geometric model descriptions of objects to be rendered; an animation department that generates products including animated models; a texture painting department that generates products having texture maps applied to models; and technical directors who generate media products having correctly applied lighting and textures for rendering. Users within each of these departments typically act as both consumers and producers of media product by “consuming” a selected version of a selected product created by another user, and producing a composite media product utilizing the selected version of the selected product. Therefore, each of the users may generate composite media products using specified versions of specified products created by other users.
As an example, a modeler may generate several versions of a model product including geometric model descriptions of a sphere, a texture painter may generate several different versions of a texture paint product, and a technical director may create several different versions of a texture painted sphere composite product. Subsequently, a visual effects supervisor may view several different versions of the texture painted sphere composite product, and prefer the version of the sphere model in a version of the composite product and the version of the texture in a different version of the composite product. The users must then determine the preferred version of the texture product and the preferred version of the sphere product.
The task of determining selected versions of selected products included in a composite product becomes increasingly difficult as the number of products included in the composite product increases and also as the number of versions of each of the products increases. The complexity of this problem increases exponentially when a composite product includes several other composite products each of which is also a composite product. As another example, a technical director may view several different versions of a composite media product including data describing an image of a character such as the face of a human, each version of the composite product including different versions of model products, texture paint products, lighting products, etc., wherein each of these products is also a composite product. The technical director may then determine that some particular aspect of a first version of a media product such as the eyes of the character are preferable, and determine that some particular aspects of a second version of the composite media product (for example, the mouth of the character) are preferable. Because the composite product contains a plurality of other composite products, the task of determining the products having the preferred features can be very difficult.
The task of determining selected versions of selected products included in a composite product becomes even more complex when producers generate different representations of a product in different formats. A representation of a product is a particular embodiment of a product that can potentially be stored in a few different ways. For example, for an image product, two different representations will be (a) a digital image that can be displayed on the computer and (b) the same image on a piece of film. Conceptually they are the same product having two different embodiments. Representations are utilized/included in this system to make products, resolution, colorspace and file format invariant.
What is needed is a system and method for documenting the contents of each of a plurality of composite media products in order to be able to determine the version of each media product utilized to create the composite media product.
What is also needed is a system and method for managing stored access of the media products, and for distributing the media products between different producers and consumers.